package com.example.smartall.ui;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ListView;
import android.widget.Spinner;

import com.example.smartall.R;
import com.example.smartall.api.Api;
import com.example.smartall.api.ApiConfig;
import com.example.smartall.api.NetCallBack;
import com.example.smartall.entity.MetroBean;
import com.example.smartall.ui.base.BaseActivity;
import com.example.smartall.utils.Constant;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * （1）首先进入地铁主页面，系统可自动获取用户当前位置（默认定位为北京建国门站位置），
 * 根据当前用户所在地铁站进行优先排序，使用虚线分隔符展示推送的所有线路主要信息，
 * 包含地铁路线名称、下一站名称、到达本站时长等。
 */
public class SubwayActivity extends BaseActivity {

    private Spinner spLocation;
    private ListView lvSub;

    private String defaultLocation = "建国门";

    private List<MetroBean.DataBean> dataBeans = new ArrayList<>();

    private MHandler handler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_subway);

        handler = new MHandler();

        init();
        initEvent();
        getSubwayList();
    }

    @Override
    public void init() {
        spLocation = (Spinner) findViewById(R.id.sp_location);
        lvSub = (ListView) findViewById(R.id.lv_sub);
    }

    @Override
    public void initEvent() {

    }

    private void getSubwayList(){
        if (dataBeans.size() > 0) return;
        HashMap<String,Object> params = new HashMap<>();
        params.put(Constant.CURRENT_NAME,defaultLocation);
        Api.config(ApiConfig.SUBWAY,params).getRequest(new NetCallBack() {
            @Override
            public void onSuccess(String res) {
                MetroBean bean = new Gson().fromJson(res,MetroBean.class);
                if (bean != null && bean.getCode() == 200){
                    dataBeans = bean.getData();
                    handler.sendEmptyMessage(0x01);
                }
            }

            @Override
            public void onFailure(Exception e) {

            }
        });
    }

    class MHandler extends Handler {
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            switch (msg.what){
                case 0x01:
                    break;
            }
        }
    }
}